产品架构

最近更新时间: 2024-06-12 15:06:00

TDSQL-A PostgreSQL版 采用分布式无共享(share nothing)架构,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的 x86 或 arm 服务器就可以部署 TDSQL-A PostgreSQL版 数据库集群。架构图如下:

各个模块说明如下:

  • Coordinator:协调节点(简称 CN),对外提供接口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图;在功能上 CN 只存储系统的全局元数据,并不存储实际的业务数据。

  • Datanode:数据节点(简称 DN),处理存储本节点相关的元数据,每个节点还存储业务数据的分片。在功能上,DN 负责完成执行协调节点分发的执行请求。

  • GTM:全局事务管理器(Global Transaction Manager,GTM),负责管理集群事务信息,同时管理集群的全局对象,如序列等。

  • Data Forward Bus:集群数据交互总线,集群交互总线由各个服务器上的 FN(Forward Node)节点组成,加入 FN 的主要目的在于减少 DN 之间、CN 和 DN 之间数据交换时创建的连接,从而保证大规模集群下连接不是瓶颈。

在此架构下,集群具有下面几个能力:

  • 多活/多主:每个 CN 提供相同的集群视图,可以从任何一个 CN 进行写入,业务无需感知集群拓扑。

  • 读/写扩展:数据被分片存储在了不同的 DN,集群的读/写能力,随着集群规模的扩大而得到提升。

  • 集群写一致:业务在一个 CN 节点发生的写事务会一致性的呈现在其他 CN 节点,就像这些事务是本 CN 节点发生的一样。

  • 集群结构透明:数据位于不同的数据库节点中,当查询数据时,不必关心数据位于具体的节点。

    TDSQL-A PostgreSQL版 的 share nothing 集群架构方便业务接入,降低了业务接入的门槛。